home *** CD-ROM | disk | FTP | other *** search
- /* gnushell dow funcIºÿÿ*
- ** static char RCSid[]="$Id: gnupmdrv.h,v 1.1.1.2 1998/04/15 19:23:39 lhecking Exp $" ;
- */
-
- /* PM driver for GNUPLOT */
-
- /*[
- * Copyright 1992, 1993, 1998 Roger Fearick
- *
- * Permission to use, copy, and distribute this software and its
- * documentation for any purpose with or without fee is hereby granted,
- * provided that the above copyright notice appear in all copies and
- * that both that copyright notice and this permission notice appear
- * in supporting documentation.
- *
- * Permission to modify the software is granted, but not the right to
- * distribute the complete modified source code. Modifications are to
- * be distributed as patches to the released version. Permission to
- * distribute binaries produced by compiling modified sources is granted,
- * provided you
- * 1. distribute the corresponding source modifications from the
- * released version in the form of a patch file along with the binaries,
- * 2. add special version identification to distinguish your version
- * in addition to the base release version number,
- * 3. provide your name and address as the primary contact for the
- * support of your modified version, and
- * 4. retain our contact information in regard to use of the base
- * software.
- * Permission to distribute the released version of the source code along
- * with corresponding source modifications in the form of a patch file is
- * granted with same provisions 2 through 4 for binary distributions.
- *
- * This software is provided "as is" without express or implied warranty
- * to the extent permitted by applicable law.
- ]*/
-
-
- /*
- * AUTHOR
- *
- * Gnuplot driver for OS/2: Roger Fearick
- *
- * Send your comments or suggestions to
- * info-gnuplot@dartmouth.edu.
- * This is a mailing list; to join it send a note to
- * majordomo@dartmouth.edu.
- * Send bug reports to
- * bug-gnuplot@dartmouth.edu.
- **/
-
- /* include resource defines */
-
- #ifndef DISPDEFS_H
- /*#include "dispdefs.h"*/
- #include "dialogs.h"
- #endif
-
- /*==== own window messages =================================================*/
-
- #define WM_GNUPLOT (WM_USER+20)
- #define WM_PAUSEPLOT (WM_USER+21)
- #define WM_PAUSEEND (WM_USER+22)
- #define WM_GPSTART (WM_USER+23)
- #define WM_USER_SET_DATA (WM_USER+90)
- #define WM_USER_GET_DATA (WM_USER+91)
- #define WM_USER_CHGFONT (WM_USER+10)
- #define WM_USER_PRINT_BEGIN (WM_USER+200)
- #define WM_USER_PRINT_OK (WM_USER+201)
- #define WM_USER_PRINT_ERROR (WM_USER+202)
- #define WM_USER_DEV_ERROR (WM_USER+203)
- #define WM_USER_PRINT_QBUSY (WM_USER+204)
- #define WM_USER_PRINT_CANCEL (WM_USER+205)
-
- /*==== various names ========================================================*/
-
- #define GNUPIPE "\\pipe\\gnuplot" /* named pipe to gnuplot */
- #define GNUQUEUE "\\queues\\gnuplot" /* queue for gnuplot termination */
- #define GNUSEM "\\sem32\\gnuplot.sem" /* synch gnuplot and gnupmdrv */
- #define GNUINI "GNUPMDRV.INI" /* ini filename */
- #define ENVGNUHELP "GNUHELP" /* gnuplot help envionment name */
- #define ENVGNUPLOT "GNUPLOT" /* general gnuplot environment */
- #define GNUEXEFILE "gnuplot.exe" /* exe file name */
- #define GNUHELPFILE "gnuplot.gih" /* help file name */
- #define GNUTERMINIT "GNUTERM=pm" /* terminal setup string */
- #define INITIAL_FONT "14.Helvetica" /* initial font for plots */
- #define APP_NAME "GnuplotPM" /* application name */
- #define CHILD_NAME "GnupltChild" /* child window name */
-
- // profile (ini file) names
- #define INISHELLPOS "PosShell"
- #define INIPAUSEPOS "PosPause"
- #define INIPLOTPOS "PosPlot"
- #define INIFONT "DefFont"
- #define INIFRAC "PageFrac"
- #define INIPRDRIV "DrivData"
- #define INIPRPR "Printer"
- #define INIOPTS "DefOpts"
- #define INICHAR "Fontdata"
-
- /*==== global data ==========================================================*/
-
- HAB hab ; // application anchor block handle
- HWND hApp ; // application window handle
- HWND hwndFrame ; // frame window handle
- #define FONTBUF 256 /* buffer for dropped font namesize */
- #define GNUXPAGE 19500 /* width of plot area in 0.01 cm */
- #define GNUYPAGE 12500 /* height of plot area in 0.01 cm */
-
- /*==== stuff for querying printer capability =================================*/
-
- typedef struct { //query data for printer setup
- int cbStruct ; /* size of struct */
- float xsize ;
- float ysize ;
- float xfrac ;
- float yfrac ;
- short caps ;
- char szFilename[CCHMAXPATHCOMP] ;
- char szPrinterName[128] ;
- PPRQINFO3 piPrinter ;
- int cbpdriv ;
- PDRIVDATA pdriv ;
- } QPRINT, *PQPRINT ;
-
- #define QP_CAPS_NORMAL 0
- #define QP_CAPS_FILE 1 /* can print to file */
-
- /*==== stuff for pause dialogs =================================*/
-
- typedef struct { //pause data for dialog box
- int cbStruct ; /* size of struct */
- char *pszMessage ; /* pause message */
- PSWP pswp ; /* dialog box position */
- } PAUSEDATA, *PPAUSEDATA ;
-
- /*==== function declarations =================================================*/
-
- short ScalePS( HPS ) ;
- int SetupPrinter( HWND, PQPRINT ) ;
- HDC OpenPrinterDC( HAB, PQPRINT, LONG, char* ) ;
- int SetPrinterMode( HWND, PQPRINT ) ;
- MPARAM PrintCmdProc( HWND, ULONG, MPARAM, MPARAM ) ;
- MRESULT EXPENTRY PrintDlgProc( HWND, ULONG, MPARAM, MPARAM ) ;
- MRESULT EXPENTRY PauseMsgDlgProc( HWND, ULONG, MPARAM, MPARAM ) ;
- MRESULT EXPENTRY QFontDlgProc( HWND ,ULONG, MPARAM, MPARAM ) ;
- MRESULT EXPENTRY QPrintDlgProc (HWND, ULONG, MPARAM, MPARAM) ;
- MRESULT EXPENTRY QPrintersDlgProc ( HWND, ULONG, MPARAM, MPARAM ) ;
- MRESULT EXPENTRY DisplayClientWndProc(HWND, ULONG, MPARAM, MPARAM);
- MRESULT EXPENTRY NewFrameWndProc(HWND, ULONG, MPARAM, MPARAM) ;
- MRESULT EXPENTRY About(HWND, ULONG, MPARAM, MPARAM);
- MRESULT EXPENTRY CancelPrintDlgProc ( HWND, ULONG, MPARAM, MPARAM ) ;
-
- /* own window functions... */
- void WinSetDlgItemFloat( HWND, USHORT, float ) ;
- void WinSetDlgItemFloatF( HWND, USHORT, int, float ) ;
- void WinQueryDlgItemFloat( HWND, USHORT, float* ) ;
-
-
-